from builtins import print as _print
from sys import _getframe


# 自定义print函数 方便输出时候带上行号
def print(*arg, **kw):
	s = f'第{_getframe(1).f_lineno}行：'  # 注此处需加参数 1。
	return _print(s, *arg, **kw)

# ### Number数字类型 (int float bool complex)
# int 整型 (正整型 0 负整型)

intvar = 100
print(intvar)

# type 获取值得类型
res = type(intvar)
print(res)

# id   获取值得地址
res = id(intvar)
print(res)

# 二进制整型
intvar = 0b110
print(intvar)
print(type(intvar))
print(id(intvar))

# 八进制整型
intvar = 0o127
print(intvar)
print(type(intvar))
print(id(intvar))

# 十六进制
intvar = 0xff
intvar = 0XFF
print(intvar)
print(type(intvar))
print(id(intvar))
"""
二进制 1 + 1 = `10
八进制 7 + 1  = 10
十六进制 f + 1 = 10
"""

# float 浮点型(小数)
# 表达方式1
floatvar = 3.6
print(floatvar, type(floatvar))

# 表达方式2 科学计数法
floatvar = 5.7e5  # 小数点右移5
floatvar = 5.7e-2  # 小数点左移2
print(floatvar, type(floatvar))

# bool 布尔型 (True 真的, False 假的)
boolvar = True
boolvar = False
print(boolvar, type(boolvar))

# complex 复数类型
"""
3 + 4j
实数+虚数
实数: 3
虚数: 4j
j   : 如果有一个数他的平方等于-1,那么这个数就是j , 科学家认为有,是用来表达一个高精度的类型
"""
# 表达方式1
complexvar = 3 + 4j
# complexvar = -3j
print(complexvar, type(complexvar))

# 表达方法2
"""
complex(实数,虚数) => 复数
"""
res = complex(3, 4)
print(res, type(res))
